/**
 * ReportGear(2011)
 */
package com.reportgear.core.swing.pane.base;

import java.awt.Component;

/**
 * 编辑器面板
 * 
 * @version 1.0 2011-4-28
 * @author <a herf="lexloo@gmail.com">lexloo</a>
 * @since Report 1.0
 */
public abstract class EditorPane<T> extends JBasePane {
	/**
	 * UID
	 */
	private static final long serialVersionUID = 1747347984417665735L;

	/**
	 * 填充对象
	 * 
	 * @param value
	 *            对象值
	 */
	public abstract void populate(T value);

	/**
	 * 更新对象
	 * 
	 * @return 更新后的对象
	 */
	public abstract T update();

	/**
	 * 显示对话框
	 * 
	 * @param owner
	 *            可找到父级Window对象的组件
	 * @return JBasePane的返回值
	 */
	public abstract int showDialog(Component owner);
}
